<?php
/**
 * Zend Framework (http://framework.zend.com/)
 *
 * @link      http://github.com/zendframework/ZendSkeletonApplication for the canonical source repository
 * @copyright Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com)
 * @license   http://framework.zend.com/license/new-bsd New BSD License
 */

namespace Application\Controller;

use Zend\Mvc\Controller\AbstractActionController;
use Zend\View\Model\ViewModel;
use Application\Form\LoginForm;
use Zend\Db\ResultSet\ResultSet;
use Zend\Db\Adapter\Adapter;

class ListaController extends AbstractActionController
{
    public function indexAction()
    {
        return new ViewModel();
    }

    //es un metodo que despliega tantos botones como solicitudes se tengan
    //para poder elegir uno de ellos y luego desplegar el formulario correspondiente
    //a dicha solicitud
    public function listaAction()
    {
	session_start();
        $this->dbAdapter=$this->getServiceLocator()->get('Zend\Db\Adapter\Adapter');
        //Segun sea el rol mostrar datos de las solicitudes
        //primero siempre al secretario recepcionista
        //despues segun sea el rol: sec academico, sec dpto, sec gral.
                         //alumno, director academico, dir dpto, decano
  //segun sea estado x actor: 1.nuevo, 2.pendiente, 3.procesado, 0.no mostrar
  //estados de solicitud:1.pendiente, 2.resuelta, 3.no resuelta, 4.anulado,
                        // 5.delegado
        $form=new LoginForm("ver");

//************************************************************************************************************
//        $p=$_POST;
//        $usuario=$p["id_oculto"];
//        $rol=$p["rol_oculto"];
//        $form->get('id_oculto')->setAttribute("value",$usuario);
//        $form->get('rol_oculto')->setAttribute("value",$rol);
	$usuario = $_SESSION['id_usuario'];
	$rol = $_SESSION['rol_usuario'];
//************************************************************************************************************

        switch ($rol) {
                       case 3:$estado_actor='estado_srecepcion'; break;
                       case 4:$estado_actor='estado_sacademico'; break;
                       case 5:$estado_actor='estado_sdpto'; break;
                       case 6:$estado_actor='estado_sgral'; break;
                       case 7:$estado_actor='estado_dacademico'; break;
                       case 8:$estado_actor='estado_ddpto'; break;
                       case 9:$estado_actor='estado_decano'; break;

                        }
        
        //if rol > 2
        if ($rol>2){
        $datos_sol=$this->dbAdapter->query("SELECT s.mesa_entrada, u.cedula, u.nombre, u.apellido, f.fecha_de_redaccion, t.nombre_tipo_solicitud, s.estado_solicitud, s.$estado_actor FROM solicitud_realizada AS s, tipo_de_solicitud AS t, formularios AS f, usuarios as u WHERE f.id_usuario=u.id_usuario AND s.id_tipo_solicitud=t.id_tipo_solicitud AND s.mesa_entrada=f.mesa_entrada AND s.$estado_actor>'0' ORDER BY s.$estado_actor",Adapter::QUERY_MODE_EXECUTE);
        $datos_sol=$datos_sol->toArray(); 
        }else {
            
        $datos_sol=$this->dbAdapter->query("SELECT s.mesa_entrada, f.fecha_de_redaccion, t.nombre_tipo_solicitud, s.estado_solicitud FROM solicitud_realizada AS s, tipo_de_solicitud AS t, formularios AS f WHERE f.id_usuario='$usuario' AND s.id_tipo_solicitud=t.id_tipo_solicitud AND s.mesa_entrada=f.mesa_entrada ORDER BY f.fecha_de_redaccion",Adapter::QUERY_MODE_EXECUTE);
        $datos_sol=$datos_sol->toArray(); 
        }
        $valores=array
        (
            "titulo"=>"Sus Solicitudes",
           // "form"=>$form,
           'url'=>$this->getRequest()->getBaseUrl(), //este campo es opcional creo
                //es para manejar direcciones absolutas, en realidad al abrir 
                //el codigo fuente de la interfaz se ve, no en la interfaz tal cual
           'datos'=>$datos_sol,
            'rol'=>$rol,
            'estado_actor'=>$estado_actor,
            'form'=>$form
        
                );
        return new ViewModel($valores);
    }
}

